first-class support for promises RFC
rfcs/0000-first-class-support-for-promises.md at first-class-promises · acdlite/rfcs · GitHub
2022-10-13
async Server ComponentsとuseについてのRFC
このRFC自体はcacheに対応していないが、別のRFCで対応する
async Server Componentsでは、
Component内で、awaitを使ってfirst-classでdata fetchingできる
Cleint Componentは、技術的な問題によりasyncで定義できない
だから、「awaitを使ってfirst-classでdata fetching」が出来ない
そこでuseを使って同じようなことをする
最初は、server/client componentどちらでも同じAPIを提供したかった
両方ともasync componentにしたかった
しかしclientの方で技術的な困難があったためuseを使うことにした
逆に、両方をuseに統一する案もあったが、
もともとPromiseベースで書かれているロジックをReactのためにそれ固有の書き方にしないといけないのが面倒
利点としては、server/client componentの区別が見た目的に付きやすくなるので、実装者が混乱しない